package com.jtxy.npms.controller;

import com.jtxy.npms.entity.Supervisor;
import com.jtxy.npms.utils.FileUtils;
import com.jtxy.npms.utils.Utils;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.PasswordField;
import javafx.scene.control.TextField;

import java.io.*;
import java.util.Map;

public class LoginViewController {

    @FXML
    private Button btnRegister;
    @FXML //电话号码
    private TextField txtTelId;
    @FXML //密码
    private PasswordField txtPassword;

//    静态属性，保存当前登录的监督员
    public static Supervisor currentLoginSupervisor;
    //    登录按钮点击事件
    public void login() {
        String telId = txtTelId.getText();//取到文本框的电话号码
        String password = txtPassword.getText();//取到文本框的密码
        System.out.println(telId + password);
//        先读取supervisor的数据，对比电话号码和密码
        Map<String, Supervisor> map = FileUtils.readObject("supervisor.txt");
        if (map.containsKey(telId) && map.get(telId).getPassword().equals(password)) {
            Utils.showDialog("登录成功", "欢迎登录");
            Utils.switchToView("SupervisorMainView.fxml", btnRegister,1200,1000);
//            登录成功后，将登录的监督员的实例设置为一个静态的属性，以便在多个界面中调用
            currentLoginSupervisor = map.get(telId);
        } else {
            Utils.showDialog("登录失败", "用户名或密码错误");
        }


    }

    //点击注册按钮后的处理方法
    public void register() throws IOException {
        Utils.switchToView("registerView.fxml", btnRegister);
    }
}
